© Martin Kot |
31.3.2000 |
||
|
Třída Class |
||
Třída
Class se nachází v balíku java.lang a je podtřídou třídy java.lang.Object. Tato třída nemá žádné standardní bezprostřední podtřídy a implementuje rozhraní java.io.Serializable.Instance třídy
Class se používají k popisu všech datových typů, tedy primitivních i referenčních. Třída byla ve verzi jazyka Java 1.1 upravena tak, aby mohla poskytovat podporu pro aplikační programátorské rozhraní Reflection API. Předcházející verze poskytovaly pouze popis referenčních typů v době provádění programu.Třída
Class poskytuje významné informace o datových typech. Například s pomocí metody isPrimitive() lze určit, zda objekt popisuje typ pole. Jestliže objekt třídy Class popisuje třídu nebo rozhraní, pak zde existuje řada metod vracejících informace o polích, metodách nebo konstruktorech. Tyto informace se vracejí v objektech :java.lang.reflect.Field,
java.lang.reflect.Method
,java.lang.reflect.Constructor
.Existuje mnoho možností, jak je možno získat objekt třídy
Class pro konkrétní datový typ.Například:
Class f = float.class;
Class vect = java.util.Vector.class;
Například:
Class v = Class.forName("java.util.vector");Instanci třídy je možno vytvořit prostřednictvím metody
newInstance() náležející objektu třídy Class, pokud má třída konstruktor, jenž neobsahuje žádné argumenty.Třída
Class nemá žádné veřejné konstruktory, a proto nemůže být explicitně instanciována. Objekty třídy Class se normálně vytvářejí prostřednictvím třídy ClassLoader nebo prostřednictvím objektu ClassLoader.public static native Class forName(String className) throws ClassNotFoundException
public native Object newInstance() throws InstantiationException, IllegalAccessException
public native boolean isInstance(Object obj)
public native boolean isAssignableFrom(Class cls)
public native boolean isInterface()
public native boolean isArray()
public native boolean isPrimitive()
public native String getName()
public native ClassLoader getClassLoader()
public native Class getSuperclass()
public native Class[] getInterfaces()
public native Class getComponentType()
public native int getModifiers()
public native Object[] getSigners()
public Class getDeclaringClass()
public Field[] getFields() throws SecurityException
public Method[] getMethods() throws SecurityException
public Constructor[] getConstructors() throws SecurityException
public Field getField(String name) throws NoSuchFieldException, SecurityException
public Class[] getDeclaredClasses() throws SecurityException
public Field[] getDeclaredFields() throws SecurityException
public Method[] getDeclaredMethods() throws SecurityException
public Constructor[] getDeclaredConstructors() throws SecurityException
public Field getDeclaredField(String name) throws NoSuchFieldException, SecurityException
public InputStream getResourceAsStream(String name)
public URL getResource(String name)